Skip to content

Fix #9337 — recognize compact -T<n> and --threads=<n> Maven flags#9382

Merged
matthiasblaesing merged 1 commit into
apache:masterfrom
xerno:fix-9337-compact-threads-flag
May 19, 2026
Merged

Fix #9337 — recognize compact -T<n> and --threads=<n> Maven flags#9382
matthiasblaesing merged 1 commit into
apache:masterfrom
xerno:fix-9337-compact-threads-flag

Conversation

@xerno
Copy link
Copy Markdown
Contributor

@xerno xerno commented May 6, 2026

NetBeans only detected the spaced forms (-T 2, --threads 2) as parallel builds. The compact forms (-T2) and GNU-style equals form (--threads=2) were not recognized, so for multi-module projects NetBeans kept its output tree-folding active and crashed with an NPE in CommandLineOutputHandler.trimTree when concurrent module events arrived (Cannot read field "type" because "start" is null).

Extracts a threadsArgValue() helper that recognizes all four forms and uses it from both isMultiThreadedMaven and isMultiThreadedMvnd.

Side effects, both intentional improvements

  • mvnd: compact -T1 now correctly flips to single-threaded mode (previously only the spaced -T 1 did).
  • A non-numeric suffix after -T (e.g. -Tfoo) is now reported as the threads value verbatim; Maven itself rejects such input.

Tests

Added cases for -T2, -T10, -T1C, -T1, --threads=2, --threads=1, and a dangling -T to both MavenCommandParametersAnalyzerTest and MavenDaemonCommandParametersAnalyzerTest.

@matthiasblaesing matthiasblaesing added Maven [ci] enable "build tools" tests ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) labels May 7, 2026
@matthiasblaesing matthiasblaesing added this to the NB31 milestone May 7, 2026
@apache apache locked and limited conversation to collaborators May 7, 2026
@apache apache unlocked this conversation May 7, 2026
@apache apache locked and limited conversation to collaborators May 7, 2026
@apache apache unlocked this conversation May 7, 2026
Copy link
Copy Markdown
Contributor

@matthiasblaesing matthiasblaesing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sane to me. Thank you.

The failing test can be ignored, it is a problem in the verification.

@sdedic would you mind having a look at this? You worked in the maven area, so it might be of interest.

@matthiasblaesing matthiasblaesing requested a review from sdedic May 8, 2026 14:54
@matthiasblaesing matthiasblaesing merged commit 3224548 into apache:master May 19, 2026
59 of 62 checks passed
@matthiasblaesing
Copy link
Copy Markdown
Contributor

@xerno thank you!

@xerno xerno deleted the fix-9337-compact-threads-flag branch May 21, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) Maven [ci] enable "build tools" tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compact Maven parallel flag -T<N> in Goals not recognized as parallel build

2 participants